import Vue from 'vue'
import {all} from 'vue-client'
/** ****************服务插件*********************/
import CancelService from './plugins/revenueService/CancelService'
import SelectService from './plugins/revenueService/SelectService'
import CardService from './plugins/revenueService/CardService'
import CardManageService from './plugins/revenueService/CardManageService'
import CommonService from './plugins/revenueService/CommonService'
import LogicService from './plugins/revenueService/LogicService'
import FileService from './plugins/revenueService/FileService'
import MachineChargeService from './plugins/revenueService/MachineChargeService'
import ChangeMeterService from './plugins/revenueService/ChangeMeterService'
import OffGasAddGasService from './plugins/revenueService/OffGasAddGasService'
import BillService from './plugins/revenueService/BillService'
import PrintService from './plugins/revenueService/PrintService'

Vue.config.silent = true

// Vue.use(Log)
all()
require('./bootstrap/less/bootstrap.less')
export default function () {
  Vue.use(SelectService)
  Vue.use(CommonService)
  Vue.use(CardService)
  Vue.use(CardManageService)
  Vue.use(LogicService)
  Vue.use(FileService)
  Vue.use(CancelService)
  Vue.use(MachineChargeService)
  Vue.use(ChangeMeterService)
  Vue.use(OffGasAddGasService)
  Vue.use(BillService)
  Vue.use(PrintService)
// Vue.use(Log)

  /* 异步注册组件 */
  /** **************************登录与主界面相关**** *************************/
// 登录界面
  Vue.component('login', (resolve) => {
    require(['./components/server/Login'], resolve)
  })
// 变更公告
  Vue.component('change-declare', (resolve) => {
    require(['./components/server/ChangeDeclare'], resolve)
  })
// 变更录入
  Vue.component('add-changemsg', (resolve) => {
    require(['./components/server/AddChangeMsg'], resolve)
  })
// 主界面。包含左侧菜单和右侧内容区域
  Vue.component('home-page', (resolve) => {
    require(['./components/Main'], resolve)
  })
// 左侧树
  Vue.component('left-tree', (resolve) => {
    require(['./components/server/LeftTree'], resolve)
  })
// 左侧菜单收缩后的菜单组件
  Vue.component('icon-tree', (resolve) => {
    require(['./components/server/IconTree'], resolve)
  })
// 修改密组件
  Vue.component('modify-pw', (resolve) => {
    require(['./components/server/ModifyPw'], resolve)
  })
// 带权限验证得参数修改
  Vue.component('idverify', (resolve) => {
    require(['./components/server/IdVerify'], resolve)
  })
// 加载数据，通过业务逻辑加载参数，单值，和气表品牌数据，通过相应的函数获取指定内容
  Vue.component('load-data', (resolve) => {
    require(['./components/server/loadData'], resolve)
  })
// 参数管理
  Vue.component('param-manage', (resolve) => {
    require(['./components/comprehen/ParamManager/ParamManage'], resolve)
  })
// 参数管理
  Vue.component('param-page', (resolve) => {
    require(['./components/comprehen/ParamManager/ParamPage'], resolve)
  })
// 参数管理
  Vue.component('single-page', (resolve) => {
    require(['./components/comprehen/ParamManager/SinglePage'], resolve)
  })
  /* 异步注册组件 */
  /** **************************登录与主界面相关******************************/
// // 登录界面
// Vue.component('login', (resolve) => { require(['./components/server/Login'], resolve) })
// // 变更公告
// Vue.component('change-declare', (resolve) => { require(['./components/server/ChangeDeclare'], resolve) })
// // 变更录入
// Vue.component('add-changemsg', (resolve) => { require(['./components/server/AddChangeMsg'], resolve) })
// // 主界面。包含左侧菜单和右侧内容区域
// Vue.component('home-page', (resolve) => { require(['./components/Main'], resolve) })
// // 左侧树
// Vue.component('left-tree', (resolve) => { require(['./components/server/LeftTree'], resolve) })
// // 左侧菜单收缩后的菜单组件
// Vue.component('icon-tree', (resolve) => { require(['./components/server/IconTree'], resolve) })
// // 修改密组件
// Vue.component('modify-pw', (resolve) => { require(['./components/server/ModifyPw'], resolve) })
// // 带权限验证得参数修改
// Vue.component('idverify', (resolve) => { require(['./components/server/IdVerify'], resolve) })
// // 加载数据，通过业务逻辑加载参数，单值，和气表品牌数据，通过相应的函数获取指定内容
// Vue.component('load-data', (resolve) => { require(['./components/server/loadData'], resolve) })
// // 参数管理
// Vue.component('param-manage', (resolve) => { require(['./components/comprehen/ParamManager/ParamManage'], resolve) })
// // 参数管理
// Vue.component('param-page', (resolve) => { require(['./components/comprehen/ParamManager/ParamPage'], resolve) })
// // 参数管理
// Vue.component('single-page', (resolve) => { require(['./components/comprehen/ParamManager/SinglePage'], resolve) })

  /*****************************报建模块*********************************/
// 报建
// 勘探信息录入
  Vue.component('exploration-user', (resolve) => {
    require(['./components/build/Install/ExplorationUser'], resolve)
  })
// 勘探查询
  Vue.component('exploration-select', (resolve) => {
    require(['./components/build/Install/ExplorationSelect'], resolve)
  })
// 报建登记
  Vue.component('installinscrire', (resolve) => {
    require(['./components/build/Install/Process/CustomerBaseInfo'], resolve)
  })
// 报建登记
// Vue.component('customerbaseinfo', (resolve) => { require(['./components/build/Install/Process/CustomerBaseInfo.vue'], resolve) })
// 基本信息标签页
  Vue.component('customer-essential-info', (resolve) => {
    require(['./components/build/Install/Process/CustomerEssentialInfo'], resolve)
  })
// 档案标签页
  Vue.component('customer-record-message', (resolve) => {
    require(['./components/build/Install/Process/CustomerRecordMessage'], resolve)
  })
// 设备信息标签页
  Vue.component('customer-equipment-message', (resolve) => {
    require(['./components/build/Install/Process/CustomerEquipmentMessage'], resolve)
  })
// 楼栋信息标签页
  Vue.component('customer-building-message', (resolve) => {
    require(['./components/build/Install/Process/CustomerBuildingMessage'], resolve)
  })
// 合同信息标签页
// Vue.component('customer-contract-message', (resolve) => { require(['./components/build/Install/Process/CustomerContract'], resolve) })
// 结论
// Vue.component('customer-conclusion-message', (resolve) => { require(['./components/build/Install/Process/CustomerConclusion'], resolve) })
// 竣工验收
// Vue.component('customer-check-message', (resolve) => { require(['./components/build/Install/Process/CustomerEndProduct'], resolve) })
// 通气审批
  /*Vue.component('customer-ratify-message', (resolve) => { require(['./components/build/Install/Process/CustomerRatify'], resolve) })*/
// 附件标签页customer-file
  Vue.component('customer-file', (resolve) => {
    require(['./components/build/Install/Process/CustomerFile'], resolve)
  })
// 报建申请市场开发部下发
// 现场勘探
  Vue.component('placecontroler', (resolve) => {
    require(['./components/build/Install/Process/PlaceControler'], resolve)
  })
// 设计出图
  Vue.component('projeterfigure', (resolve) => {
    require(['./components/build/Install/Process/ProjeterFigure'], resolve)
  })
// 收费标准
  Vue.component('feenorme', (resolve) => {
    require(['./components/build/Install/Process/FeeNorme'], resolve)
  })
// 合同签订
  Vue.component('contratsigne', (resolve) => {
    require(['./components/build/Install/Process/ContratSigne'], resolve)
  })
// 收费审核
  Vue.component('feeverifier', (resolve) => {
    require(['./components/build/Install/Process/FeeVerifier'], resolve)
  })
// 定表型
  Vue.component('metertype', (resolve) => {
    require(['./components/build/Install/Process/MeterType'], resolve)
  })
// 派工
  Vue.component('dispatchingjob', (resolve) => {
    require(['./components/build/Install/Process/DispatchingJob'], resolve)
  })
// 施工
  Vue.component('buildjob', (resolve) => {
    require(['./components/build/Install/Process/BuildJob'], resolve)
  })
// 竣工验收单
  Vue.component('receivingnote', (resolve) => {
    require(['./components/build/Install/Process/ReceivingNote'], resolve)
  })
// 点火通气
  Vue.component('ignitionventilation', (resolve) => {
    require(['./components/build/Install/Process/IgnitionVentilation'], resolve)
  })

// 基本信息
  Vue.component('basicinfo', (resolve) => {
    require(['./components/build/Install/ProcessInfo/BasicInfo'], resolve)
  })
// 现场勘探信息
  Vue.component('placeprocessinfo', (resolve) => {
    require(['./components/build/Install/ProcessInfo/PlaceProcessInfo'], resolve)
  })
// 设计出图信息
  Vue.component('projeterprocessinfo', (resolve) => {
    require(['./components/build/Install/ProcessInfo/ProjeterProcessInfo'], resolve)
  })
// 收费标准信息
  Vue.component('feenormeinfo', (resolve) => {
    require(['./components/build/Install/ProcessInfo/FeeNormeInfo'], resolve)
  })
// 合同签订信息
  Vue.component('contratprocessinfo', (resolve) => {
    require(['./components/build/Install/ProcessInfo/ContratProcessInfo'], resolve)
  })
// 收费审核信息
  Vue.component('feeverifierinfo', (resolve) => {
    require(['./components/build/Install/ProcessInfo/FeeVerifierInfo'], resolve)
  })
// 定标型信息
  Vue.component('meterprocessinfo', (resolve) => {
    require(['./components/build/Install/ProcessInfo/MeterProcessInfo'], resolve)
  })
// 派工单信息
  Vue.component('dispatchinginfo', (resolve) => {
    require(['./components/build/Install/ProcessInfo/DispatchingInfo'], resolve)
  })
// 施工信息
  Vue.component('buildinfo', (resolve) => {
    require(['./components/build/Install/ProcessInfo/BuildInfo'], resolve)
  })
// 竣工验收单信息
  Vue.component('receivinginfo', (resolve) => {
    require(['./components/build/Install/ProcessInfo/ReceivingInfo'], resolve)
  })
// 通气点火信息
  Vue.component('ignitioninfo', (resolve) => {
    require(['./components/build/Install/ProcessInfo/IgnitionInfo'], resolve)
  })
// 报建业务
  Vue.component('install-function', (resolve) => {
    require(['./components/build/Install/InstallFee/InstallFunction'], resolve)
  })
// 终止报建业务
  Vue.component('stop-install', (resolve) => {
    require(['./components/build/Install/InstallFee/StopInstall'], resolve)
  })
// 报建业务信息
  Vue.component('installinfoselect', (resolve) => {
    require(['./components/build/Install/InstallFee/InstallInfoSelect'], resolve)
  })
// 报建收费
  Vue.component('installfee', (resolve) => {
    require(['./components/build/Install/InstallFee/InstallFee'], resolve)
  })
// 费用变更信息
  Vue.component('updatefee', (resolve) => {
    require(['./components/build/Install/InstallFee/UpdateFee'], resolve)
  })
// 费用减免信息
  Vue.component('reducefee', (resolve) => {
    require(['./components/build/Install/InstallFee/ReduceFee'], resolve)
  })
// 报建收费信息
  Vue.component('installfeeinfo', (resolve) => {
    require(['./components/build/Install/InstallFee/InstallFeeInfo'], resolve)
  })
// 报建业务信息
  Vue.component('installinfodown', (resolve) => {
    require(['./components/build/Install/InstallFee/InstallInfoDown'], resolve)
  })
// 详细业务信息
  Vue.component('allselect', (resolve) => {
    require(['./components/build/Install/InstallFee/AllSelect'], resolve)
  })
// 小区管理
  Vue.component('village-manager', (resolve) => {
    require(['./components/build/villagemanage/VillageManager'], resolve)
  })
// 小区流程查询h
  Vue.component('village-query', (resolve) => {
    require(['./components/build/villagemanage/VillageQuery'], resolve)
  })
// 小区查询
  Vue.component('village-search', (resolve) => {
    require(['./components/build/villagemanage/VillageSearch'], resolve)
  })
// 小区审核
  Vue.component('check-village', (resolve) => {
    require(['./components/build/villagemanage/CheckVillage'], resolve)
  })
// 添加小区
  Vue.component('add-village', (resolve) => {
    require(['./components/build/villagemanage/AddVillage'], resolve)
  })
// 报建收费卡片详情
  Vue.component('build-fee-detail', (resolve) => {
    require(['./components/revenue/base/rightview/carddetail/BuildFeeDetail'], resolve)
  })
// 报建费用变更详情
  Vue.component('change-fee-detail', (resolve) => {
    require(['./components/revenue/base/rightview/carddetail/ChangeFeeDetail'], resolve)
  })
// 报建费用减免详情
  Vue.component('reduce-fee-detail', (resolve) => {
    require(['./components/revenue/base/rightview/carddetail/ReduceFeeDetail'], resolve)
  })
// 报建费用减免详情
  Vue.component('stopapply-detail', (resolve) => {
    require(['./components/revenue/base/rightview/carddetail/StopApplyDetail'], resolve)
  })
// 报建费用减免详情
  Vue.component('install-cardlist', (resolve) => {
    require(['./components/revenue/base/rightview/InstallCardList'], resolve)
  })
}
